import { createRequest } from 'microvideo-request'

/**
 *
 * 基础数据服务 或其他公用接口
 *
 * **/

export default {
  /**
   * 获取摄像机列表
   *
   * @obj     object
   * @kmStake		string	是  示例值：200     说明：千米桩
   * @hmStake		string	是  示例值：500     说明：百米桩
   * @lon		    string  否	示例值：118.96  说明：经度
   * @lat		    string  否	示例值：32.08   说明：纬度
   * @roadNum		string  是	示例值：G25     说明：路段编号
   * @radius		string  否	示例值：2       说明：半径(km)
   * @province		string  是	示例值：32      说明：省份标识
   * @city		    string  否	城市标识
   * @roadType		string  是	示例值：1       说明：路网类型（0:公路;1:高速;2:全路网）
   * @returns promise
   */
  getCameraList(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/screen-camera/list')
  },

  /**
   * 获取摄像机播放地址
   *
   * cameraId   query string 是 摄像机id
   * roadType   query string 是 公路类型（0.公路 1.高速）
   * videoType  query string 否 摄像机类型
   */
  getCameraUrl(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/screen-camera/url')
  },

  /**
   * 获取情报版列表
   * @obj     object
   * @kmStake		string	是  示例值：200     说明：千米桩
   * @hmStake		string	是  示例值：500     说明：百米桩
   * @lon		    string  否	示例值：118.96  说明：经度
   * @lat		    string  否	示例值：32.08   说明：纬度
   * @roadNum		string  是	示例值：G25     说明：路段编号
   * @radius		string  否	示例值：2       说明：半径(km)
   * @province		string  是	示例值：32      说明：省份标识
   * @city		    string  否	城市标识
   * @roadType		string  是	示例值：1       说明：路网类型（0:公路;1:高速;2:全路网）
   * @returns promise
   */
  getQbbList(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/screen-information/list')
  },

  /**
   * 获取周边两客一危
   * @obj     object
   * @kmStake		string	是  示例值：200     说明：千米桩
   * @hmStake		string	是  示例值：500     说明：百米桩
   * @lon		    string  否	示例值：118.96  说明：经度
   * @lat		    string  否	示例值：32.08   说明：纬度
   * @roadNum		string  是	示例值：G25     说明：路段编号
   * @radius		string  否	示例值：2       说明：半径(km)
   * @returns promise
   */
  getRangeGuest(obj) {
    return createRequest().setParameters(obj).get('event-statistic/guest/range')
  },

  /**
   * 获取周边事件数量
   * @obj     object
   * @kmStake		string	是  示例值：200     说明：千米桩
   * @hmStake		string	是  示例值：500     说明：百米桩
   * @lon		    string  否	示例值：118.96  说明：经度
   * @lat		    string  否	示例值：32.08   说明：纬度
   * @roadNum		string  是	示例值：G25     说明：路段编号
   * @radius		string  否	示例值：2       说明：半径(km)
   * @returns promise
   */
  getRangeEvent(obj) {
    return createRequest().setParameters(obj).get('/event-statistic/range')
  },

  /**
   * 根据id获取情报版发布信息
   * @obj     object
   * @informationId		 情报版主键
   * @roadType		公路类型（0:公路;1:高速;2:全路网）
   * @returns promise
   */
  getInformationDetail(obj) {
    return createRequest().setParameters(obj).get('/screen-information/detail')
  },

  /**
   *  获取交调点  经纬度 列表
   * @params     { Object }
   * @province		省份
   * @roadType	  公路类型（0:公路;1:高速;2:全路网）
   * @params      city
   * @returns promise
   */
  getJddList(params) {
    return createRequest().setParameters(params).get('/flow/gcz-info/list')
  },
  /**
   * 拿到公路十三个地市路线json文件
   *
   * */
  getGlLxJson(cityCode) {
    return createRequest('STATIC_DATA').get('/json/GL-ROAD-JSON/' + cityCode + '.json', { whitelist: true })
  },

  // /**
  //  * 拿到公路路线json文件
  //  *
  //  * */
  // getGlLxJson() {
  //   return createRequest('STATIC_DATA').get('/json/GL-ROAD.json', { whitelist: true })
  // },
  /**
   * 拿到高速路线json文件
   *
   * */
  getGsLxJson() {
    return createRequest('STATIC_DATA').get('/json/GS-ROAD.json', { whitelist: true })
  },

  /**
   * 疫情防控监测点
   *
   * province       string 是 省份标识
   * city           string 否 城市标识
   * roadType       integer 是 路网类型（0:公路;1:高速;2:全路网）
   * page           integer 是 页码
   * limit          integer 是 页面容量，默认30
   *    */
  getEpidemic(params) {
    return createRequest().setParameters(params).get('/epidemic/list')
  },

  /**
   * 疫情防控监测点详情
   *
   * epidemicId       防疫点id
   *    */
  getEpidemicDetail(epidemicId) {
    return createRequest().get('/epidemic/detail/' + epidemicId)
  },

  /**
   * 获取应急基地
   * @params   orgId 组织机构id
   */
  getEmergencyBase: params => {
    return createRequest().setParameters(params).get('/screen-emergency/list')
  },

  /**
   *  获取路线经纬度列表
   *
   *   roadNum     string 是 示例值：G2说明：路段编号
   *   startStake  number 是 示例值：450说明：开始桩号
   *   endStake    number 是 示例值：1000说明：结束桩号
   */
  getLineLatLonList(params) {
    return createRequest().setParameters(params).get('/screen-baseInfo/lonLatList')
  },

  /**
   *  获取情报板、摄像机列表
   *
   *   roadNum          string  是 示例值：G2说明：路段编号
   *   startStake       number  是 示例值：450.760说明：开始桩号
   *   endStake         number  是 示例值：1000.897说明：结束桩号
   *   resourceType	  	integer 是	示例值：6说明：资源类型，6摄像机、7情报板
   *   roadSysType        路网类型
   */
  getBaseInfoList(params) {
    return createRequest().setParameters(params).get('/screen-baseInfo/deviceList')
  },

  /**
   *  根据经纬度获取情报板、摄像机列表
   *
   *   lon            string    经度
   *   lat            string    纬度
   *   resourceType	  string否	资源类型，6摄像机、7情报板
   */
  getLonlatInfoList(params) {
    return createRequest().setParameters(params).get('/screen-baseInfo/resources')
  },

  /**
   *  获取文件软连接信息
   *
   *   params array[object]
   */
  getSofFileConnection(params) {
    return createRequest().setParameters(params).post('screen-system/soft-links')
  },

  /**
   * 为交建局获取高速摄像头经纬度列表
   *
   * @param type       高速或者公路（  0：公路  1：高速  默认全查）
   * @param cityCode   地市编码
   *
   * */
  getJJJCameraList: (type, cityCode) => {
    return createRequest('ZHFX_SERVER').setParameters({ type, cityCode }).get('/video/coordinate/list')
  },
  /**
   * 为交建局获取高速情报板经纬度列表
   *
   * @param type       高速或者公路（  0：公路  1：高速  默认全查）
   * @param cityCode   地市编码
   *
   * */
  getIntelligenceBoard: () => {
    return createRequest('ZHFX_SERVER').get('/information-source/list')
  },

  /**
   * 获取桥面监测列表
   *
   * @unitid		string	是  示例值：f00d57e2d82e42dbbf8125dde1d7e665   说明：单位id
   */
  getBridgeList(params) {
    return createRequest('QMJC_SERVER').setParameters(params).get('/bridgeMonitorm/bridgeMonitormList')
  },

  /**
   * 获取桥面监测详情url
   *
   * @unitid		string	是  示例值：f00d57e2d82e42dbbf8125dde1d7e665   说明：单位id
   */
  getBridgeUrl(params) {
    return createRequest('QMJC_SERVER').setParameters(params).get('/bridgeMonitorm/getBridgeUrl')
  },

  /**
   * 获取红绿灯管控列表
   *
   * @unitid		string	是  示例值：f00d57e2d82e42dbbf8125dde1d7e665   说明：单位id
   */
  getTrafficLightList(params) {
    return createRequest('QMJC_SERVER').setParameters(params).get('/trafficlight/getTrafficLightList')
  },
  /**
   * 获取红绿灯管控详情url
   *
   * @unitid		string	是  示例值：f00d57e2d82e42dbbf8125dde1d7e665   说明：单位id
   */
  getTrafficLightUrl(params) {
    return createRequest('QMJC_SERVER').setParameters(params).get('/trafficlight/getTrafficLightUrl')
  }
}
